A computer system that can communicate with a mass storage class digital imaging device such as a digital camera is a common arrangement. For example, there are several digital cameras that communicate with personal computers (PCs) however, the methods for accomplishing communication and control are proprietary to each manufacturer. This essentially poses a problem for users because of the multitude of associated interfaces and drivers that are required for the various brands and models of cameras on the market.
One attempt to resolve this problem was the introduction of a standard protocol to be utilized by manufacturers, namely the USB Mass Storage Class Device specification. The implementation of a digital camera in accordance with the afore mentioned specification provides the benefit of allowing an operating system with native driver support to provide ‘Plug and Play’ experience for the user. The implementation also allows such a conforming device to appear on the PC as a storage device and allows the user to copy files to or from the device. However, a digital camera potentially has several files which are not related to stored images and as such, the user will be presented with a multitude of files through which they must navigate in order to obtain the image file of interest. A further drawback of the implementation of the USB Mass Storage Class Device specification is the inability to actually control the device. For example, under existing support for cameras, it is not possible to set the clock on the camera from PC. This and other specific controls that could benefit a user are not available under the presently available implementations for uniform camera support. For example, a user may desire to perform live capture, query the camera or adjust a camera property setting. Presently, non of these functions are possible with the existing USB Mass Storage Class Device specification. Instead, a specific driver or application from the manufactures is required in order to accomplish these tasks.
Accordingly, there exists a need for a method that allows Mass Storage Class Digital Imaging Devices, particularly cameras to take advantage of interfaces and features that are a part of the user experience. An extensible control protocol is needed for controlling most common tasks in these digital content devices such as a Mass Storage Class Digital Camera, without the need for manufacturers to develop custom control software. In other words, manufacturers that implement the control protocol on their devices will be able to benefit from the ability to have the device controlled by an operating system application such as Windows Image Acquisition wizard (WIA) or by other programs through an application program interface (API) defined within an operating system.